package com.rm.zeyou.entity;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * 技师表
 * </p>
 *
 * @author YanYang
 * @since 2025-03-12 15:55:09
 */
@Getter
@Setter
@TableName("t_technician")
@ApiModel(value = "Technician对象", description = "技师表")
public class Technician implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("技师ID")
      @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    @ApiModelProperty("商家ID")
    @TableField("merchant_id")
    private Long merchantId;

    @ApiModelProperty("用户ID")
    @TableField("user_id")
    private Long userId;

    @ApiModelProperty("技师h5openid")
    @TableField("h5_open_id")
    private String h5OpenId;

    @ApiModelProperty("技师openid")
    @TableField("open_id")
    private String openId;

    @ApiModelProperty("unionid")
    @TableField("unionid")
    private String unionid;

    @ApiModelProperty("技师类型")
    @TableField("technician_type")
    private Long technicianType;

    @ApiModelProperty("技师姓名")
    @TableField("technician_name")
    private String technicianName;

    @ApiModelProperty("技师头像")
    @TableField("technician_avatar")
    private String technicianAvatar;

    @ApiModelProperty("技师手机号")
    @TableField("technician_tel")
    private String technicianTel;

    @ApiModelProperty("技师密码")
    @TableField("technician_pass")
    private String technicianPass;

    @ApiModelProperty("技师身份证")
    @TableField("id_card")
    private String idCard;

    @ApiModelProperty("技师年龄")
    @TableField("technician_age")
    private Integer technicianAge;

    @ApiModelProperty("出生年份")
    @TableField("technician_year")
    private Integer technicianYear;

    @ApiModelProperty("技师性别（0=男）")
    @TableField("technician_sex")
    private Integer technicianSex;

    @ApiModelProperty("经度")
    @TableField("longitude")
    private String longitude;

    @ApiModelProperty("纬度")
    @TableField("latitude")
    private String latitude;

    @ApiModelProperty("服务项目id")
    @TableField("service_item")
    private String serviceItem;

    @ApiModelProperty("评分（最高5星）")
    @TableField("mark")
    private BigDecimal mark;

    @ApiModelProperty("用户端展示接单量时间（30,60,90,180,360）")
    @TableField("order_receiving_time")
    private Integer orderReceivingTime;

    @ApiModelProperty("总接单量")
    @TableField("order_receiving")
    private Integer orderReceiving;

    @ApiModelProperty("生活照片")
    @TableField("life_photo")
    private String lifePhoto;

    @ApiModelProperty("民族（例如：汉族）")
    @TableField("technician_ethnic")
    private String technicianEthnic;

    @ApiModelProperty("身高（例如：175（cm））")
    @TableField("technician_height")
    private Integer technicianHeight;

    @ApiModelProperty("体重（例如：50（kg））")
    @TableField("technician_weight")
    private BigDecimal technicianWeight;

    @ApiModelProperty("技师简介")
    @TableField("technician_intro")
    private String technicianIntro;

    @ApiModelProperty("是否在线（0=不在线）")
    @TableField("is_online")
    private Integer isOnline;

    @ApiModelProperty("白天免费距离（单位：km）")
    @TableField("day_free_tolls")
    private BigDecimal dayFreeTolls;

    @ApiModelProperty("晚上免费距离（单位：km）")
    @TableField("night_free_tolls")
    private BigDecimal nightFreeTolls;

    @ApiModelProperty("服务距离（单位：km）")
    @TableField("service_distance")
    private BigDecimal serviceDistance;

    @ApiModelProperty("总收入")
    @TableField("total_revenue")
    private BigDecimal totalRevenue;

    @ApiModelProperty("在线时间")
    @TableField("online_time")
    private Date onlineTime;

    @ApiModelProperty("等级id")
    @TableField("grade_id")
    private Long gradeId;

    @ApiModelProperty("技师身份（0=普通 1=经纪人）")
    @TableField("technician_identity")
    private Integer technicianIdentity;

    @ApiModelProperty("技师来源")
    @TableField("technician_source")
    private Integer technicianSource;

    @ApiModelProperty("当前定位")
    @TableField("current_location")
    private String currentLocation;

    @ApiModelProperty("所在城市")
    @TableField("service_city")
    private String serviceCity;

    @ApiModelProperty("技师邀请码")
    @TableField("technician_invitation_code")
    private String technicianInvitationCode;

    @ApiModelProperty("技师上级邀请码")
    @TableField("technician_invited_code")
    private String technicianInvitedCode;

    @ApiModelProperty("正常项目分成比例（%）")
    @TableField("split_rate")
    private BigDecimal splitRate;

    @ApiModelProperty("升级套餐分成比例（%）")
    @TableField("upgrade_split_rate")
    private BigDecimal upgradeSplitRate;

    @ApiModelProperty("第一次加钟分成比例（%）")
    @TableField("bell_first_split_rate")
    private BigDecimal bellFirstSplitRate;

    @ApiModelProperty("第二次加钟分成比例（%）")
    @TableField("bell_second_split_rate")
    private BigDecimal bellSecondSplitRate;

    @ApiModelProperty("生效开始日期")
    @TableField("effect_start_time")
    private Date effectStartTime;

    @ApiModelProperty("生效结束日期")
    @TableField("effect_end_time")
    private Date effectEndTime;


    @ApiModelProperty("逻辑删除（0=未删除，1=已删除）")
    @TableField("is_delete")
    @TableLogic
    private Integer isDelete;

    @ApiModelProperty("创建时间")
      @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty("更新时间")
      @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE)
    private Date updateTime;


}
